package com.dailyblue.java.standard.interview.offer2;

import java.util.Arrays;
import java.util.Scanner;

/*
题目描述：整数数组中有一个数字出现的次数超过数组长度的一般，请找出这个数字，如果不存在则输出 0.
例如一个长度为 9 的整数数组{1,2,3,6,6,6,5,6,6}。由于数字6在数组中出现了 5 次，超过数组长度的一般英雌输出 6.
输入描述：依次输入整数数组的每个数字，要求数字部位0，每个数字之间以英文“,”分隔；输入的整数数组只存在唯一解。
输出描述：出现的次数超过数组长度的一半的那个数字，如果不存在则输出0.
 */
public class NumArray {
    static Scanner scan = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.print("Input:");
        String str = scan.next();
        String[] array = str.split(",");
        int len = array.length;
        int[] nums = new int[len];
        boolean flag = true;
        System.out.println(Arrays.toString(array));
        for (int i = 0; i < len; i++) {
            String s = array[i];
            int l = s.length();
            String str1 = str.replace(s, "");
            int n = (str.length() - str1.length()) / l;
            nums[i] = n;
            if (n > len / 2) {
                System.out.println("找到这个数字：" + s);
                flag = false;
                return;
            }
        }
        if (flag) {
            System.out.println("没有这个数！");
        }
    }
}
